home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / vgl20.zip / README.TXT < prev    next >
Text File  |  1993-05-18  |  6KB  |  172 lines

  1.  
  2.  
  3.                                  VGL 2.0
  4.  
  5.                            VGA Graphics Library
  6.                               (VGA mode 13h)
  7.  
  8.                           Created by Mark Morley
  9.                            morley@camosun.bc.ca
  10.  
  11.                                  May 1993
  12.  
  13.  
  14.  
  15. What is VGL?
  16. ============
  17.  
  18.    VGL is a graphics library for VGA mode 13h.  Perhaps a `collection of
  19.    graphics routines' is a better description than `library'.  The core of the
  20.    package is an assembly language module.  This module exists in both a
  21.    286 and 386 version and contains the basic "core" routines.  All the other
  22.    routines are written in C and are contained in seperate modules.  Full
  23.    source is included.
  24.  
  25.    The library includes routines for drawing on virtual screens (or virtual
  26.    page flipping if you like), drawing sprites, doing fast blits, manipulating
  27.    the palette (including fading and cycling), drawing bitmapped fonts, loading
  28.    GIF images, drawing lines, trapping key presses, handling the mouse, etc.
  29.  
  30.  
  31. What does it cost?
  32. ==================
  33.  
  34.    Nothing.  VGL is free.
  35.  
  36.  
  37. What's the catch?
  38. =================
  39.  
  40.    The one thing I ask is that you don't try and sell VGL itself or make it
  41.    a part of another programming library.  VGL is FREE and anyone who wants
  42.    it should be allowed to have it WITHOUT CHARGE.
  43.  
  44.    If you write a program and use my routines, you can sell YOUR PROGRAM
  45.    without having to give away the source.  You don't even have to give me
  46.    any credit for my work, although it would be a nice gesture.
  47.  
  48.    If you do write something with my stuff, I'd love to see it.  Whether it's
  49.    a demo or a full blown game, I'd just like to see that someone is actually
  50.    using this stuff.
  51.  
  52.    Finally, if you find this library useful or informative, I'd love to get
  53.    a note from you saying so.  This is all the encouragement I need to keep
  54.    developing it.
  55.  
  56.    Oh yeah, my wife says she wants a post card from your home town, so if
  57.    you're so inclined you can send one to:
  58.  
  59.         M. Morley
  60.         3889 Mildred Street
  61.         Victoria, B.C.
  62.         V8Z 7G1   Canada
  63.  
  64.  
  65. What's new in 2.0?
  66. ==================
  67.  
  68.    * vglHLine
  69.      Draw a horizontal line.  To be used later in polygon fills (version 3.0?)
  70.  
  71.    * vglUpdateW, vglUpdateLW, vglCopyW
  72.      Work just like the routines without a 'W' on the end, except these
  73.      ones will wait for vertical retrace before copying to the screen.
  74.  
  75.    * vglBlack
  76.      Sets the palette to all black.
  77.  
  78.    * vglFadeIn, vglFadeOut, vglFadePartIn, vglFadePartOut
  79.      Routines to smoothly fade in all or part of a palette.
  80.  
  81.    * vglCyclePartL, vglCyclePartR
  82.      Routines to rotate a part of the palette to the left or right.
  83.  
  84.    * vglSetPartPal
  85.      Set a partial palette.
  86.  
  87.    * vglSetPal (modified)
  88.      Now waits for vertical retrace (avoids *some* flicker).
  89.  
  90.    * vglTrapKeys, vglReleaseKeys
  91.      Allows you to test for multiple keys being held down.
  92.  
  93.    * vglLoadFont, vglPutc, vglPuts, vglBoldOn, vglBoldOff, vglItalicsOn,
  94.       vglItalicsOff, vglUnderlineOff, vglUnderlineOff, vglShadowOn,
  95.       vglShadowOff, vglTextColor, vglUnderlineColor, vglShadowColor
  96.      Routines to display bitmapped fonts.  22 fonts are included.  I'm
  97.      really happy with this module, even though it isn't the cleanest code.
  98.      It could be faster, though.
  99.  
  100.    * vglMousePresent, vglInitMouse, vglShowMouse, vglHideMouse,
  101.       vglHideMouseIf, vglGetMouseInfo
  102.      Simplistic mouse routines.  Just enough to get you started.  I'll add
  103.      support for the rest of the mouse functions when I have more time.
  104.  
  105.    * vglPlayFLI
  106.      C routine to play a .FLI file.  Sorry, I haven't added support for
  107.      .FLC files.  This is fairly slow, but possibly still useable for title
  108.      screens, etc.
  109.  
  110.  
  111. Where do I get it?
  112. ==================
  113.  
  114.    VGL's official home is on suncad.camosun.bc.ca in the /pub/morley
  115.    directory.  Look for a file called vgl20.zip.  The demos in the archive
  116.    assume that font files will be in a subdirectory called FONTS, so be sure
  117.    and unzip it with the -d option!
  118.  
  119.    NOTE: VGL20.ZIP is zipped with PKZIP 2.04G
  120.  
  121.    If you have demos or games to send me, you can upload them to the
  122.    same computer into the /incoming directory.  Send me an note letting me
  123.    know you've uploaded something, I don't remember to check it that often.
  124.  
  125.    Please help make VGL available to more people by uploading it to BBS's
  126.    and other FTP sites.  Thanks.
  127.  
  128.  
  129. How do I use it?
  130. ================
  131.  
  132.    For details on how each routine works, you'll have to read the source
  133.    files.  The VGL library exists in the following modules:
  134.  
  135.       VGL.H          The header file for all VGL routines.
  136.       VGL286.ASM     The 286 ASM routines for blitting, sprites, etc.
  137.       VGL386.ASM     The 386 ASM routines for blitting, sprites, etc.
  138.       VGLPAL.C       C routines for fading and cycling palette entries.
  139.       VGLGIF.C       C routine to load a GIF image from disk.
  140.       VGLLINE.C      C routine to draw a line using Bresenham's.
  141.       VGLFONTS.C     C routines to load and use bitmapped fonts.
  142.       VGLKEY.C       C routines to trap key presses and releases.
  143.       VGLMOUSE.C     C routines to use the mouse.
  144.       VGLFLI.C       C routine to play a .FLI file.
  145.  
  146.    To make use of the routines in a particular module, simply add the module
  147.    to your makefile or project and link it in.  Note that you don't *have*
  148.    to include all the modules.  If you don't need fonts, then don't link in
  149.    VGLFONTS.C  If you don't need to trap keystrokes, then don't link in
  150.    VGLKEY.C  You get the idea.
  151.  
  152.    NOTE: Some modules require others.  Example: VGLFONTS.C uses routines in
  153.          VGLx86.ASM and VGLLINE.C
  154.  
  155.    There are also a few demo programs (with source) to show you how to use
  156.    the library.
  157.  
  158.    I apologise for the lack of decent documentation.  I'm more than happy to
  159.    try and answer any questions you may have, though.
  160.  
  161.  
  162. Special thanks to:
  163. ==================
  164.  
  165.    * Mike Asbury, who pointed out a way to speed up the inner loop of several
  166.      of my ASM routines.  The speedup isn't noticeable on my 486's, but it
  167.      apparently makes a big difference on 386's.  Thanks Mike!
  168.  
  169.    * Many others who sent me ideas and suggestions.  I'm sorry I couldn't
  170.      implement them all for this release.  Maybe next time.
  171.  
  172.